
/**
 * 不分页显示table表格
 * @param {Object} divID			div id名称
 * @param {Object} data				json数据
 * @param {Object} templateContent	模板内容
 */
var  showTable = function(divID,data){
	layui.use(['form','laytpl','laydate','laypage', 'layer'], function(){
		$ = layui.jquery, form = layui.form(),
		laytpl = layui.laytpl,
		laydate = layui.laydate,
		laypage = layui.laypage,
		layer = layui.layer;

		if(data.dataTool.titleCheckbox==true){
			tableStyle(divID);
		}
		var templateContent = $("#template_dataTable").html();
		laytpl(templateContent).render(data, function(html){
			$('#'+divID).html(html);
			form.render();
		});	
	}) 
}


/**
 * 静态分页显示table表格
 * @param {Object} divID			div id名称
 * @param {Object} data				json数据
 * @param {Object} templateContent	模板内容
 * @param {Object} pageNumber		每页显示多少条
 */
var showStaticPageTable  = function(divID,data,pageNumber){
	layui.use(['form','laytpl','laydate','laypage', 'layer'], function(){
		form = layui.form(),
		laytpl = layui.laytpl,
		laydate = layui.laydate,
		laypage = layui.laypage,
		layer = layui.layer;

		var templateContent = $("#template_dataTable").html();
		if(data.dataTool.titleCheckbox==true){
			tableStyle(divID);	
		}
		var nums = pageNumber; //每页出现的数据量
		//模拟渲染
		var render = function(data, curr){
			var textDiv 
			,thisDatalist = data.list.concat().splice(curr*nums-nums, nums);
			var thisData = new Object();
			$.extend(thisData, data);
			thisData.list = thisDatalist;
			laytpl(templateContent).render(thisData, function(html){
				textDiv = html;
			});
			return textDiv;
		};
		var demoPage = '<div class="text-center" id="demoPaging"></div>';
		$('#'+divID).html('<div id="tableEqs"></div>'+demoPage);
		laypage({
			cont: $('#demoPaging')
			,pages: Math.ceil(data.list.length/nums) //得到总页数
			,skip: true
			,skin: '#0181FF'
				,jump: function(obj,first){
					$('#tableEqs').html(render(data, obj.curr));
					//删除按钮 还原
					btnShowDisable(divID);					
					form.render();
				}
		});
	}) 
}

/**
 * 
 * 分页显示table表格
 * @param {Object} divID				div id名称
 * @param {Object} data					json数据
 * @param {Object} templateContent		模板内容
 * @param {Object} currentNumber		当前页数
 * @param {Object} pageTotal			总共有多少页
 * @param {Object} dataFun				自身函数的方法名
 * @param {Object} ArrFunParameter		本身函数方法的参数名称  数组形式（num不算）
 */
var showPageTable = function (divID,data,currentNumber,pageTotal,dataFun,ArrFunParameter){
	layui.use(['form','laytpl','laydate','laypage', 'layer'], function(){
		form = layui.form(),
		laytpl = layui.laytpl,
		laydate = layui.laydate,
		laypage = layui.laypage,
		layer = layui.layer;

		var templateContent = $("#template_dataTable").html();
		if(data.dataTool.titleCheckbox==true){
			tableStyle(divID);
		}
		var  newArrFunParameter = new Array();
		for(var index in ArrFunParameter){
			newArrFunParameter.push("'"+ArrFunParameter[index]+"'");
		}
		//模拟渲染
		var render = function(data, curr){
			var textDiv ;
			laytpl(templateContent).render(data, function(html){
				textDiv = html;
			});
			return textDiv;
			
		};
		/**
		 * 添加分页div
		 */
		var demoPage = '<div class="text-center" id="demoPaging"></div>';
		$('#'+divID).html(demoPage);
		laypage({
			cont: $('#demoPaging')
			,pages: Math.ceil(pageTotal) //得到总页数
			,skip: true
			,curr: currentNumber||1
			,skin: '#0181FF'
			,jump: function(obj, first){
				if(first){	//默认第一次加载数据
					$('#'+divID).html(render(data, obj.curr)+$('#'+divID).html());
					form.render();
				}else{		//点击翻页   回调自身函数
					//var arrParameter = newArrFunParameter.join()==""?"":newArrFunParameter.join();
					var fun  =dataFun+"("+obj.curr+")";
					eval("(0||"+fun+")");
					//删除按钮 还原
					btnShowDisable(divID);
                    pnum = obj.curr;
				}
			}
		});

	}) 
}




/**
 * 加载 table样式，联动删除按钮
 * @param {Object} divID	div id名字
 */
var tableStyle = function(divID){
        form.on('checkbox(allChoose)', function(data){
			var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]');
			child.each(function(index, item){
				item.checked = data.elem.checked;
			});
			form.render('checkbox');
			btnShowDisable(divID);
		});

		/**
		 *  监听每一个复选框的变动
		 */
		form.on('checkbox(oneCbx)', function(data){
			btnShowDisable(divID);
		});
}

/**
 * table表单上的删除按钮，释放禁用，随着复选框而变动     
 * @param {Object} divID	div id名称
 */
function btnShowDisable(divID){
	if(getCheckedJson(divID).length!=0){
		$('.btnDel').addClass('btnForm');
		$('.btnDel').attr('disabled',false);	
	}else{
		$('.btnDel').removeClass('btnForm');
		$('.btnDel').attr('disabled',true);
	}
}

/**
 * 
 * 获取表格复选框选中对象，返回数组json对象
 * @param {Object} divID	div id名称
 */
function getCheckedJson(divID) {
	var arr = new Array();
	$('#'+divID).find('.layui-form-checked').each(function(index,element){
		var valtext = $(this).parents("tr").find("input[name='cbx']").val();
		valtext = eval('('+ valtext+')');
		if(valtext!=null){	//过滤掉复选框  顶头的全部选项
			arr.push(valtext);
		}
	})
	return arr;
}
